//package com.uphone.kingmall.utils;
//
//import android.content.Context;
//import android.text.TextUtils;
//
//import com.blankj.utilcode.util.LogUtils;
//
//import java.util.HashSet;
//import java.util.Set;
//
//import cn.jpush.android.api.JPushInterface;
//import cn.jpush.android.api.TagAliasCallback;
//
///**
// * <pre>
// *     author : radish
// *     e-mail : 15703379121@163.com
// *     time   : 2019/3/29
// *     desc   :
// * </pre>
// */
//public class JpushUtil {
//    /**
//     * 设置标签与别名
//     * <p>
//     * <p>
//     * <p>
//     * TagAliasCallback类是JPush开发包jar中的类，用于
//     * 设置别名和标签的回调接口，成功与否都会回调该方法
//     * 同时给定回调的代码。如果code=0,说明别名设置成功。
//     * /**
//     * 6001   无效的设置，tag/alias 不应参数都为 null
//     * 6002   设置超时    建议重试
//     * 6003   alias 字符串不合法    有效的别名、标签组成：字母（区分大小写）、数字、下划线、汉字。
//     * 6004   alias超长。最多 40个字节    中文 UTF-8 是 3 个字节
//     * 6005   某一个 tag 字符串不合法  有效的别名、标签组成：字母（区分大小写）、数字、下划线、汉字。
//     * 6006   某一个 tag 超长。一个 tag 最多 40个字节  中文 UTF-8 是 3 个字节
//     * 6007   tags 数量超出限制。最多 100个 这是一台设备的限制。一个应用全局的标签数量无限制。
//     * 6008   tag/alias 超出总长度限制。总长度最多 1K 字节
//     * 6011   10s内设置tag或alias大于3次 短时间内操作过于频繁
//     **/
//    public static void setTagAndAlias(Context context, String userId) {
//        /**
//         *这里设置了别名，在这里获取的用户登录的信息
//         *并且此时已经获取了用户的userId,然后就可以用用户的userId来设置别名了
//         **/
//        //false状态为未设置标签与别名成功
//        //if (UserUtils.getTagAlias(getHoldingActivity()) == false) {
//        Set<String> tags = new HashSet<String>();
//        //这里可以设置你要推送的人，一般是用户uid 不为空在设置进去 可同时添加多个
//        if (!TextUtils.isEmpty(userId)) {
//            tags.add(userId);//设置tag
//        }
//        //上下文、别名【Sting行】、标签【Set型】、回调
//        JPushInterface.setAliasAndTags(context, userId, tags, new TagAliasCallback() {
//            @Override
//            public void gotResult(int code, String alias, Set<String> tags) {
//                switch (code) {
//                    case 0:
//                        //这里可以往 SharePreference 里写一个成功设置的状态。成功设置一次后，以后不必再次设置了。
//                        //UserUtils.saveTagAlias(getHoldingActivity(), true);
//                        break;
//                    case 6002:
//                        //极低的可能设置失败 我设置过几百回 出现3次失败 不放心的话可以失败后继续调用上面那个方面 重连3次即可 记得return 不要进入死循环了...
//                        LogUtils.e("设置别名失败6002！");
//                        break;
//                    default:
//                        LogUtils.e("设置别名失败！" + code);
//                        break;
//                }
//            }
//        });
//    }
//}
